Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
authorMatthias Clasen <mclasen@redhat.com>
Mon, 13 Jun 2005 19:09:06 +0000 (19:09 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 13 Jun 2005 19:09:06 +0000 (19:09 +0000)
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtkaccellabel.c

index 658a87aa1c3ebdecb121cee5ed63e64df179eb2e..1f1c3062643469f5ce3845484f862e32eb4cbbbf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-06-13  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
+       Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
+
        * gtk/gtkfilechooserbutton.c (model_update_current_folder): 
        Free the data of the row before overwriting it.  (#307490,
        Kjartan Maraas)
index 658a87aa1c3ebdecb121cee5ed63e64df179eb2e..1f1c3062643469f5ce3845484f862e32eb4cbbbf 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-13  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
+       Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
+
        * gtk/gtkfilechooserbutton.c (model_update_current_folder): 
        Free the data of the row before overwriting it.  (#307490,
        Kjartan Maraas)
index 658a87aa1c3ebdecb121cee5ed63e64df179eb2e..1f1c3062643469f5ce3845484f862e32eb4cbbbf 100644 (file)
@@ -1,5 +1,8 @@
 2005-06-13  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
+       Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
+
        * gtk/gtkfilechooserbutton.c (model_update_current_folder): 
        Free the data of the row before overwriting it.  (#307490,
        Kjartan Maraas)
index cca5d342f96fb430a42080e9b56517d60d7a7fcc..cafd022018eea8d2e33b6f1cfa68278f6aa6dbf8 100644 (file)
@@ -590,25 +590,27 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
       gchar *tmp;
 
       tmp = gdk_keyval_name (gdk_keyval_to_lower (accelerator_key));
-      if (tmp == NULL)
-       tmp = "";
-      else if (tmp[0] != 0 && tmp[1] == 0)
-       tmp[0] = g_ascii_toupper (tmp[0]);
-      else 
+      if (tmp != NULL)
        {
-         gchar msg[128];
-         gchar *str;
-      
-         strcpy (msg, "keyboard label|");
-         g_strlcat (msg, tmp, 128);
-         str = dgettext (GETTEXT_PACKAGE, msg);
-         if (str == msg)
-           substitute_underscores (tmp);
+         if (tmp[0] != 0 && tmp[1] == 0)
+           g_string_append_c (gstring, g_ascii_toupper (tmp[0]));
          else
-           tmp = str;
+           {
+             gchar msg[128];
+             gchar *str;
+             
+             strcpy (msg, "keyboard label|");
+             g_strlcat (msg, tmp, 128);
+             str = dgettext (GETTEXT_PACKAGE, msg);
+             if (str == msg)
+               {
+                 g_string_append (gstring, tmp);
+                 substitute_underscores (gstring->str);
+               }
+             else
+               g_string_append (gstring, str);
+           }
        }
-
-      g_string_append (gstring, tmp);
     }
 
   return g_string_free (gstring, FALSE);